package geometrie;

public class Zylinder extends Figur3D
{

    private int hoehe;

    public int getHoehe()
    {
        return hoehe;
    }

    public void setHoehe(int hoehe)
    {
        this.hoehe = hoehe < 1 ? 1 : hoehe;
    }

    public void setBoden(Figur2D boden)
    {
        if (boden != null)
        {
            super.setBoden(boden);
        }
        else
        {
            boden = new Kreis(new Punkt(0, 0), 1);
        }
    }

    public Zylinder(Kreis k, int hoehe)
    {

        super(k);
        if (k == null)
        {
            setBoden(new Kreis(new Punkt(0, 0), 1));
        }
        this.hoehe = hoehe < 1 ? 1 : hoehe;
    }

    public Kreis getBoden()
    {
        Figur2D myBoden = super.getBoden();
        return (Kreis) myBoden;
    }

    @Override
    public double volumen()
    {
        return getBoden().flaeche() * hoehe;
    }

    @Override
    public double oberflaeche()
    {
        return getBoden().umfang() * hoehe + 2 * getBoden().flaeche();
    }

}
